kotlin swipe listener

123

open class OnSwipeTouchListener : View.OnTouchListener {

    private val gestureDetector = GestureDetector(GestureListener())

    fun onTouch(event: MotionEvent): Boolean {
        return gestureDetector.onTouchEvent(event)
    }

    private inner class GestureListener : GestureDetector.SimpleOnGestureListener() {

        private val SWIPE_THRESHOLD = 100
        private val SWIPE_VELOCITY_THRESHOLD = 100

        override fun onDown(e: MotionEvent): Boolean {
            return true
        }

        override fun onSingleTapConfirmed(e: MotionEvent): Boolean {
            onTouch(e)
            return true
        }


        override fun onFling(e1: MotionEvent, e2: MotionEvent, velocityX: Float, velocityY: Float): Boolean {
            val result = false
            try {
                val diffY = e2.y - e1.y
                val diffX = e2.x - e1.x
                if (Math.abs(diffX) > Math.abs(diffY)) {
                    if (Math.abs(diffX) > SWIPE_THRESHOLD && Math.abs(velocityX) > SWIPE_VELOCITY_THRESHOLD) {
                        if (diffX > 0) {
                            onSwipeRight()
                        } else {
                            onSwipeLeft()
                        }
                    }
                } else {
                    // onTouch(e);
                }
            } catch (exception: Exception) {
                exception.printStackTrace()
            }

            return result
        }
    }

    override fun onTouch(v: View, event: MotionEvent): Boolean {
        return gestureDetector.onTouchEvent(event)
    }

    open fun onSwipeRight() {}

    open fun onSwipeLeft() {}

    open fun onSwipeTop() {}

    open fun onSwipeBottom() {}
}

Comments

Submit
0 Comments

More Questions

kotlin date to stringtoast in kotlin zsh: command not found: adb
coroutines kotlin android dependency2d array in kotlin how to initialize mutable list kotlin
date format kotlinkotlin check if string contains android recyclerview scroll to bottom
on click in kotlinrandom string generator kotlin kotlin list add
kotlin onclicklistenerkotlin empty list kotlin filter not null
what is the difference between const and valkotlin print list text is behind BottomNavigationView
kotlinx coroutines dependencyhow to check internet connection in android programmatically kotlin recyclerview onclicklistener kotlin
kotlin check if edittext is emptycountdowntimer kotlin kotlin null safety
how to get date in kotlinkotlin repeat n times split string kotlin
Kotlin redundant FindViewByIdfile is not upload using retrofit in kotlin how to uppercase the first letter of a string in kotlin
how to make dialog transparent androidstartactivityforresult deprecated android kotlin remove name from an activity
button inside a recycle view in android in kotlindate to string kotlin while loop kotlin
kotlin variable possiblement nullregex find emails kotlin for decrement
kotlin filter map by keyadd kotlin parcelize plugin in new android studio list map by index and value kotlin
object vs companion object kotlinhow to get resource how to get data in mainActivity from a parcelable data class in kotlin
android navigation drawer not navigating with navcontrollerdrawable to bitmap android kotlin double tab exit button